import { Recordable } from '@/global'
import { ColumnProps } from './tableColumn'
import { PaginationProps } from './tablePagination'

export interface TableProps {
  // table 属性
  tooltipEffect: 'dark' | 'light'
  // 高度
  height?: [string, number]
  // 最大高度
  maxHeight?: [string, number]
  // 斑马纹 table
  stripe?: boolean
  // 是否带有边框
  border?: boolean
  // 尺寸
  size?: 'medium' | 'small' | 'mini'
  // 列的宽度是否自撑开
  fit?: boolean
  // 是否显示表头
  showHeader?: boolean
  // 是否要高亮当前行
  highlightCurrentRow?: boolean
  // 空文本
  emptyText?: string
}
export interface APIProps {
  request: Function
  params: Recordable
}
export interface BasicTableProps {
  // table 属性
  tableProps?: TableProps
  // table-column 属性
  columns?: Array<ColumnProps>
  // pagination 属性
  paginationProps?: PaginationProps
  // 显示分页
  showPagination?: boolean
  // table 数据
  data: Array<Recordable[]>
  rowKey: string
  total?: number
  // 接口参数
  APIProps?: APIProps
}
